Android Studio打包apk |
您所在的位置:网站首页 › android studio导出apk手机无法解析 › Android Studio打包apk |
打包之前建议学习:Android Studio系列之代码混淆proguardFiles 普通的apk打包Build->Generate Signed Bundle/APK
以上设置好了就点击Next, value里面填的就是各个平台的值,比如填写uc、yyb(应用宝)、360、baidu替换掉Channel_ID,App安装好,可以读取这个值然后传给后台,从而实现区分各个平台的安装需求。 实现: 1.在AndroidManifest.xml中增加meta-data /*${channelName} 是对应build.gradle文件中的channelName的值 productFlavors.all { flavor -> flavor.manifestPlaceholders = [channelName: name] } 关于manifestPlaceholders 占位符我们稍后讲解 */2.修改app模块下的build.gradle文件,在android空间内增加如下内容 apply plugin: 'com.android.application' def releaseTime() { return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC")) } android { defaultConfig { applicationId "com.xxx.demo2" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode rootProject.ext.versionCode//ext属于根目录gradle的属性 versionName rootProject.ext.versionName flavorDimensions "default" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } signingConfigs { config { keyAlias 'key0'//别名 keyPassword '123456'//密码 //秘钥位置 storeFile file('E:\\work\\android\\RocketBrowser\\SourceCodes\\app\\key0.jks') storePassword '123456'//存储密码 } } //配置编译选项 buildTypes { release { debuggable false minifyEnabled true shrinkResources true signingConfig signingConfigs.config proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } debug { debuggable true minifyEnabled false shrinkResources false signingConfig signingConfigs.config proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } productFlavors{ baidu{ manifestPlaceholders += [PID:"PIDLKDpQaIly"] } xiaomi{ manifestPlaceholders += [PID:"PIDLKDpQaIly"] } huawei{ manifestPlaceholders += [PID:"PIDLKDpQaIly"] } qihu360{ manifestPlaceholders += [PID:"PIDLKDpQaIly"] } } productFlavors.all { flavor -> flavor.manifestPlaceholders = [channelName: name] } applicationVariants.all { variant -> variant.outputs.all { def fileName = "Rocket_${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk" outputFileName = fileName } } } //defaultConfig 需要配置flavorDimensions,否则会报错 flavorDimensions "default"3.修改根目录下的build.gradle文件,提供ext属性 ext { ext.kotlin_version = '1.3.41' compileSdkVersion = 28 supportLibVersion = '28.0.3' minSdkVersion = 21 targetSdkVersion = 28 versionCode = 15 versionName = "1.2.1.2" }关于的manifestPlaceholders 可以参考 meta-data 占位符的引用 配置文件修改之后,在android studio 的Terminal窗口,执行gradlew assembleRelease,此时就会正常编译并且打包,生成的文件在app->build->outputs->apk目录下。 渠道配置也可以通过窗口设置 eg:修改秘钥信息: apk打包 https://blog.csdn.net/u010883308/article/details/82318956 https://www.cnblogs.com/sunjiachen/p/11457630.html manifestPlaceholders apk信息获取PackageManager https://blog.csdn.net/u012532559/article/details/52805632 占位符manifestPlaceholders https://blog.csdn.net/u010227042/article/details/83182120 apk瘦身 https://blog.csdn.net/qq_32175491/article/details/80071987 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |